import { get, post } from '@/utils/request.js'
import Config from '@/config'

export default {
  /**
   * Financial Basic
   * @param id
   * @returns {Promise | Promise<unknown>}
   */
  getBasicInfo(id) {
    return get(Config.API_VERSION + '/Financial/GetFinancialBasic', { clientID: id })
  },
  /**
   * Financial Settings
   * @param data
   */
  updateClientFinanceInfo(data) {
    return post(Config.API_VERSION + '/Financial/UpdateClientFinanceInfo', data, false)
  },
  /**
   * Mail Settings
   * @param data
   * @returns {Promise | Promise<unknown>}
   */
  updateClientFinanceEmail(data) {
    return post(Config.API_VERSION + '/Financial/UpdateClientFinanceEmail', data, false)
  },
  /**
   * Factor Settings
   * @param data
   * @returns {Promise | Promise<unknown>}
   */
  updateClientFinanceFactor(data) {
    return post(Config.API_VERSION + '/Financial/UpdateClientFinanceFactor', data, false)
  },
  /**
   * 获取可选的签约公司
   */
  getSignedCompany(clientId) {
    return get(Config.API_VERSION + '/Financial/GetSignedCompany', { clientID: clientId })
  },
  /**
   * 获取Bank Info
   * @param id
   */
  getFinancialBank(id) {
    return get(Config.API_VERSION + '/Financial/GetFinancialBank', { clientID: id })
  },
  /**
   * 获取 币种、Billing Cycle 信息
   * @param id
   */
  getPaymentSettings(id) {
    return get(Config.API_VERSION + '/Financial/GetFinacePayCycle', { clientID: id })
  },
  /**
   * 更新 Billing Cycle 信息
   * @param data
   */
  updateBillingCycleInfo(data) {
    return post(Config.API_VERSION + '/Financial/UpdateFinacePayCycle', data)
  },
  /**
   * 获取Commission
   * @param data
   * @returns {Promise | Promise<unknown>}
   */
  getCommission(data) {
    return get(Config.API_VERSION + '/Financial/GetCommission', data, false)
  },
  /**
   * 获取Invoice模板
   */
  getFinancialTemplate() {
    return get(Config.API_VERSION + '/Financial/GetFinanceTemplate', {}, false)
  },
  /**
   * 获取历史数据
   * @param data
   * @returns {Promise | Promise<unknown>}
   */
  getAccountHistory(data) {
    return get(Config.API_VERSION + '/Financial/GetAccountHistory', data, false)
  },
  /**
   * 获取Taxation Invoice(Send Paper)下拉项
   */
  getPaperInvoiceType() {
    return get(Config.API_VERSION + '/Financial/PaperInvoiceType', {}, false)
  },
  /**
   *
   * @param data
   * @returns {Promise | Promise<unknown>}
   */
  getCollectionAccountInfo(data) {
    return get(Config.API_VERSION + '/Financial/GetCollectionAccountInfo', data, false)
  },
  /**
   * 获取发票地址名称
   * @param data
   */
  getEciAddress(data) {
    return get(Config.API_VERSION + '/Financial/GetDictECIAddress', data, false)
  },
  /**
   * 获取收款银行账号
   * @param data
   */
  getCollectionAccount(data) {
    return get(Config.API_VERSION + '/Financial/GetCollectionAccount', data, false)
  },
  /**
   * 修改Bank Info
   * @param data
   */
  updateClientFinanceTrade(data) {
    return post(Config.API_VERSION + '/Financial/UpdateClientFinanceTrade', data, false)
  },
  /**
   * 获取发票信息
   * @param id
   * @returns {Promise | Promise<unknown>}
   */
  getPaperInvoiceSettings(id) {
    return get(Config.API_VERSION + '/Financial/GetPaperInvoiceSettings', { clientID: id }, false)
  },
  /**
   * 修改发票信息
   * @param data
   * @returns {Promise | Promise<unknown>}
   */
  updatePaperInvoiceSettings(data) {
    return post(Config.API_VERSION + '/Financial/UpdateFinacePaperInvoiceSettings', data, false)
  },
  /**
   * 获取邮箱可选列表
   * @param clientId
   */
  getEmailCandidateList(clientId) {
    return Promise.all([
      get(Config.API_VERSION + '/Financial/GetFinanceTOMailSettings', { clientID: clientId }),
      get(Config.API_VERSION + '/Financial/GetFinanceCCMailSettings', { clientID: clientId })
    ])
  },
  /**
   * 邮件发送人员设置
   * @param data
   */
  setEmailSettings(data) {
    return post(Config.API_VERSION + '/Financial/SetFinanceMailSettings', data)
  },
  /**
   * 获取邮箱设置
   */
  getEmailSettings(clientId) {
    return get(Config.API_VERSION + '/Financial/GetFinanceMailSettings', { clientID: clientId })
  }
}
